1. Field of the Invention
This invention relates to transport of data over communications networks and, in particular, to transport of data encoded by layered encoding algorithms.
2. Related Art
Networks based upon the Internet Protocol (IP) are being used increasingly to convey multi-media data transmissions, enabled by the use of compression algorithms to reduce data volumes to sufficiently low levels for transport over relatively low data rate network connections. However, problems remain to be overcome to achieve distribution of multi-media services, audiovisual services for example, to a large number of client terminals having a variety of different capabilities for receipt of such services. In particular, some clients may have access only to limited data rate network connections enabling receipt of only low-resolution and low picture rate video. Other users may be connected to relatively high bandwidth corporate LANs and demand higher quality reception. Known methods for providing different levels of service to different users include point-to-point services whereby a tailored version of a session is separately transmitted directly to each user at their network address, and simulcast techniques whereby a number of different data rate transmissions are broadcast and users may select and share that most suited to their needs. However, both point-to-point and simulcast techniques involve significant overlap and duplication of data between transmitted data streams and are clearly inefficient in their consumption of network capacity.
Layered encoding techniques, such as that implemented for example under the H.263 standard for video data compression, defined in “Video Coding for Low Bit Rate Communications”, International Telecommunication Union (ITU)—T Recommendation H.263, January 1998, enable data representing different resolutions of video to be encoded as separate layers of data frames. At the lowest layer, layer O, a “lowest common denominator” encoding may be provided. Frames within layer O may provide a relatively low resolution representation of original images, not necessarily all the original images. Date frames in higher layers may add increasing levels of detail to representations by lower layer frames or may encode images omitted from the lower layers altogether. Each layer of encoded data frames may be broadcast separately by a server, each layer to a different multi-casting network address. It is intended that most user equipment may be able to receive the lowest layer O by accessing the appropriate multi-cast address for layer O. Users who so choose, or who have equipment capability to receive higher layers may access one or more of the corresponding network addresses to enjoy a higher quality of audiovisual service. In this way, disparate client needs may be satisfied by a single broadcast of each layer without unnecessary duplication of data.
Where multi-casting techniques are being used in relation to IP networks, a currently preferred protocol for transporting layers of encoded data frames is the User Datagram Protocol (UDP) as defined in “User Datagram Protocol”, Internet RFC 768, J. Postel, August 1980, published on the Internet by the Internet Engineering Task Force (IETF). However, while UDP offers a more rapid procedure for sending messages with a minimum of protocol mechanism, in comparison with the Transmission Control Protocol (TCP) for example, this is achieved at the expense of guaranteed delivery. Data may be lost, perhaps to the extent that a one layer may be lost during conveyance over a network, or at least delayed with respect to other layers. Therefore, besides exercising a choice not to receive a higher layer of encoded data, there are involuntary reasons why a client apparatus may not receive all encoded data broadcast within a session. In both circumstances, problems may arise at a client apparatus in presenting received data to a decoder in the correct order for decoding.
In Jau-Shiung Huang et al.: “MHTP—A Multimedia High-Speed Transport Protocol”, from GLOBECOM '92, Orlando—Communication for Global Users, Dec. 6–9, 1992, Volume 3, 6 December 1992, pages 1364–1368, XP000390432 IEEE, a protocol (MHTP) is described that enables packet sequence numbering and packet ordering to be managed within each of several sub-protocols as may each be used to convey a separate layer of multi-layer encoded data. However, MHTP does not solve the problem of how to present received packets, selected from across several sub-protocol layers, to a decoder in the correct order for decoding.
In “An Efficient Loss-Priority Scheme for MPEG-2 Variable Bit Rate Video for ATM Networks”, Wilson, D. and Ghanbari, M., IEEE 1996, Essex University, a technique is described for generating an enhancement layer comprising only B-frames, though relying upon the correct relative timing of the base layer and the enhancement layer being maintained during transmission to ensure correct order of presentation of encoded frames to a decoder. Any variation in the expected delay between receipt of a first encoded frame from the base layer and the first from the enhancement layer, for example, would not be correctable prior to decoding.
In Internet RFC 1693: “An Extension to TCP: Partial Order Service”, November 1994, an extension to TCP is described for transmitting a service profile during connection setup, defining an acceptable order of receipt for transmitted objects. The service profile includes a partial ordering matrix defining an acceptable order for numbered objects, enabling a receiver to order such objects to the extent defined in the profile, even though there may be loss or excessive delay in receiving certain objects. However, the overhead in defining and transmitting service profiles, prior to sending data, increases the complexity of transmitting and receiving apparatus and introduces additional delay.